"use strict";
define(["jquery", "bootstrap", "backend", "table", "form"], function (t, e, a, i, r) {
    var o = {
        index: function () {
            i.api.init({
                extend: {
                    index_url: "wanlshop/attribute/index" + location.search,
                    add_url: "wanlshop/attribute/add",
                    edit_url: "wanlshop/attribute/edit",
                    del_url: "wanlshop/attribute/del",
                    multi_url: "wanlshop/attribute/multi",
                    table: "wanlshop_category_attribute"
                }
            });
            var e = t("#table");
            e.bootstrapTable({
                url: t.fn.bootstrapTable.defaults.extend.index_url,
                pk: "id",
                sortName: "weigh",
                columns: [[{checkbox: !0}, {field: "id", title: __("Id")}, {
                    field: "name",
                    title: __("Name")
                }, {
                    field: "category.name",
                    title: __("Category.name"),
                    formatter: i.api.formatter.search
                }, {
                    field: "switch",
                    title: __("Switch"),
                    searchList: {1: __("Yes"), 0: __("No")},
                    formatter: i.api.formatter.toggle
                }, {field: "weigh", title: __("Weigh")}, {
                    field: "createtime",
                    title: __("Createtime"),
                    operate: "RANGE",
                    addclass: "datetimerange",
                    formatter: i.api.formatter.datetime
                }, {
                    field: "updatetime",
                    title: __("Updatetime"),
                    operate: "RANGE",
                    addclass: "datetimerange",
                    formatter: i.api.formatter.datetime
                }, {
                    field: "status",
                    title: __("Status"),
                    searchList: {normal: __("Normal"), hidden: __("Hidden")},
                    formatter: i.api.formatter.status
                }, {
                    field: "operate",
                    title: __("Operate"),
                    table: e,
                    events: i.api.events.operate,
                    formatter: i.api.formatter.operate
                }]]
            }), i.api.bindevent(e)
        }, recyclebin: function () {
            i.api.init({extend: {dragsort_url: ""}});
            var e = t("#table");
            e.bootstrapTable({
                url: "wanlshop/attribute/recyclebin" + location.search,
                pk: "id",
                sortName: "id",
                columns: [[{checkbox: !0}, {field: "id", title: __("Id")}, {
                    field: "name",
                    title: __("Name"),
                    align: "left"
                }, {
                    field: "deletetime",
                    title: __("Deletetime"),
                    operate: "RANGE",
                    addclass: "datetimerange",
                    formatter: i.api.formatter.datetime
                }, {
                    field: "operate",
                    width: "130px",
                    title: __("Operate"),
                    table: e,
                    events: i.api.events.operate,
                    buttons: [{
                        name: "Restore",
                        text: __("Restore"),
                        classname: "btn btn-xs btn-info btn-ajax btn-restoreit",
                        icon: "fa fa-rotate-left",
                        url: "wanlshop/attribute/restore",
                        refresh: !0
                    }, {
                        name: "Destroy",
                        text: __("Destroy"),
                        classname: "btn btn-xs btn-danger btn-ajax btn-destroyit",
                        icon: "fa fa-times",
                        url: "wanlshop/attribute/destroy",
                        refresh: !0
                    }],
                    formatter: i.api.formatter.operate
                }]]
            }), i.api.bindevent(e)
        }, add: function () {
            o.api.bindevent()
        }, edit: function () {
            o.api.bindevent()
        }, api: {
            bindevent: function () {
                r.api.bindevent(t("form[role=form]"))
            }
        }
    };
    return o
});